const readline = require('readline-sync');

// 0 1 2 3 4 5
// for (let i = 0; i < 10; i++) {
//     for (let j = 0; j <= 5; j++) {
//         console.log(j);
//     }
// }

// 1.操场上有一百多人排队，三人一组多一人，四人一组多2人，五人一组多3人，问:一共有多少人？
//隐含条件操场上有一百多人排队 大于100小于200
//118 178
// for (let i = 100; i < 200; i++) {
//     if (i % 3 == 1 && i % 4 == 2 && i % 5 == 3){
//         console.log(`操场上有${i}人`);
//     }
// }


// 2.一个球每次落下，会反弹回原高度的一半，然后再落下再反弹。假设该球从100米往下落，
//求第十次落地的时候共行程多少米？然后第十次反弹多高？
//299.609375 0.09765625
// let total = 100, height = 100;
// for (let i = 0; i < 10; i++) {
//     height /= 2;
//     if (i < 9) {
//         total += height * 2
//     }
// }
// console.log(total, height);

// 3. 将100元纸币兑换成10元、5元和1元纸币共20张，输出各种兑换法，
//并统计有多少种兑换方式。 10*x+2*y+1*z=100  x+y+z=20
//10元4张，5元11张，1元5张
//10元8张，5元2张，1元10张
//2
let count = 0;
for (let i = 1; i < 20; i++) {//10元面额有多少张
    for (let j = 1; j < 20; j++) {//5元面额有多少张
        let k = 20 - i - j;//1元面额有多少张
        if (10 * i + 5 * j + k * 1 == 100) {
            count++;
            console.log(`10元${i}张，5元${j}张，1元${k}张`);
        }

    }
}
console.log(count);

// 4.实现一个“高低数”的猜数字游戏。程序一启动就在内存生成一个50-99之间的随机数，
//不给用户看；然后接收用户输入，用用户输入的数字和该随机数比较，分别有：”猜大了“，
// “猜小了”，“猜对了”三种情况。猜大或猜小，用户继续猜，总共有5次机会；猜对了，
// 结束游戏，恭喜用户。5次机会用完，都没有猜对，打印正确答案，并羞辱用户！！

//验证用户输入的数字是否在50-99之间，如果是就判断，
//如果不是提示输入不合法并且不计入输入次数
let computer = parseInt(Math.random() * 50 + 50);
console.log(computer);
for (let i = 4; i >= 0; i--) {
    console.log('请猜一个数字');
    let player = readline.question() - 0;
    if (player < 50 || player > 99) {
        console.log('输入不合法，请输入50～99之间的数字');
        i++;
        continue;
    }
    if (player > computer) {
        console.log('猜大了');
        console.log('你还有' + i + '次');
    } else if (player < computer) {
        console.log('猜小了');
        console.log('你还有' + i + '次');
    } else {
        console.log('猜对了,数字是' + player);
        break;
    }
    if (i == 0) {
        console.log('机会用光了，小傻瓜', '数字是' + computer);
    }

}
